import {getLoginUserInfo} from '../../api/user'

const app = getApp();

// pages/my/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    isLogin: true,
    user: null
  },

  onLoad() {
    // 页面第一加载的时候会执行，界面创建到销毁的过程中只会执行一次
    console.log("页面加载出来了");

    console.log(app.globalData.userInfoPromise);
    // 等它请求成功之后在进行一些操作
    app.globalData.userInfoPromise.then(res=>{
      // 写的逻辑
       // 一旦到了这里，一定是请求陈工
       if (app.globalData.isLogin) {
        // 一定是接口调用成功之后才会执行的
        this.setData({
          isLogin: app.globalData.isLogin,
          user: app.globalData.user
        })
      } else {
        wx.reLaunch({
          url: '/pages/login/index',
        })
      }
    })

    // // 如果已经登陆了
    // if(app.globalData.isLogin){
    //   // 一定是接口调用成功之后才会执行的
    //   this.setData({
    //     isLogin:app.globalData.isLogin,
    //     user:app.globalData.user
    //   })
    // }else {
    //   // 两种情况
    //   //  1. 接口请求了，但还没成功
    //   //  2. 接口请求了，并且没有登陆
    //   if(app.globalData.finish){
    //     wx.navigateTo({
    //       url: '/pages/login/index',
    //     })
    //   }else {
    //     app.globalData.callback = (res)=>{
    //         // 接口已经返回了
    //         if(res.data.code == 0){
    //           // 登陆了
    //           this.setData({
    //             isLogin:app.globalData.isLogin,
    //             user:app.globalData.user
    //           })
    //         }else {
    //           wx.navigateTo({
    //             url: '/pages/login/index',
    //           })
    //         }
    //     }
    //   }

    // }


    // this.setData({
    //   isLogin:app.globalData.isLogin,
    //   user:app.globalData.user
    // })

  },

  onReady() {
    // 界面渲染出来之后会执行。 mounted是类似的
    console.log("界面渲染出来之后执行");
  },

  onShow() {
    // 界面显示出来的时候会执行，会被多次执行，每次当它切换到路由栈顶层的时候会执行
    console.log("界面显示出来");
    // 在这里进行数据初始化的话，就能保证每次切换的时候，数据都是最新的

    // 界面一展示出来就会执行。 可能正在渲染

     // 如果当前界面不是tabbar界面的话是无法设置这个样式
     wx.setTabBarStyle({
      backgroundColor: '#ffffff',
      color:"#333333"
    })
  },
  onHide() {
    // 隐藏的时候执行， 从这个界面跳转到了别的界面
    console.log("界面隐藏。。。");
  },
  onUnload() {
    // 界面被销毁 的时候执行
    // 清除定时任务或者监听，释放资源
  },
  onShareAppMessage(){
    return {}
  },
  changeAvatar(){
    // 图片上传
    // 选择图片
    // 图片上传的api
    wx.chooseImage({
      count: 1,
      success:res=>{
        // 拿到选择的图片
        console.log(res);
        // 请求的时候没有带上cookie
        wx.uploadFile({
          // 通过选择图片api拿到的图片地址
          filePath: res.tempFilePaths[0],
          // 接口文档会告诉我们
          name: 'avatarfile',
          formData:{},
          url: 'https://showme.myhope365.com/api/system/user/profile/update/avatar/nos',
          // 需要为请求加上cookie
          header:{
            "cookie": wx.getStorageSync("cookie"),
          },
          success:uploadRes =>{
            const data = JSON.parse(uploadRes.data)
            if(data.code == 0){
              wx.showToast({
                title: '上传成功',
              })
              // 重新获取一下用户信息
              getLoginUserInfo().then(res=>{
                this.setData({
                  user:res.data.data
                })
              })
            }
          }
        })
      }
    })
  }
})